草庐IT

Java RMI 跟踪

全部标签

c++ - 如何使用非静态相机跟踪任何移动物体? [Opencv]

我想用非静态相机跟踪任何移动的物体,并获取该物体的轮廓。有人可以给我一些如何实现该目标的建议吗?我很难减去背景,但这只适用于静态相机。 最佳答案 背景减除不是非静态相机的一个选项。将第一帧与第二帧的扭曲单应性输出相减在某些情况下可能会起作用,但错误的发生率会很高。最好的选择是使用FAST、ORB、SURF、SIFT、BRISK等特征检测器算法。如果性能有问题,FAST或ORB可能是最佳选择。这些FD算法跟踪并映射图像中存在的“稳定点”。例如,角可以称为“稳定点”,因为平移、缩放、倾斜、旋转等不会改变它们的属性。跟踪第2帧和第1帧“稳

c++ - 抛出异常时获取堆栈跟踪

我现在正在调试一个使用许多不同线程的程序。有一个不时抛出的异常。问题是无法知道是哪个线程导致了问题...有谁知道抛出异常后获取堆栈跟踪的简单方法?我考虑过简单地编写调试消息,但这将是一个巨大的:-)我想有比这个更好的技术......我正在使用VisualStudio2008-nativeC++项目.... 最佳答案 除非我大错特错,否则您需要知道哪个线程触发了异常才能使用VisualStudio调试器的调用堆栈View,这显然是您目前所处的catch-22情况。我会尝试的一件事是查看是否可以让调试器在抛出异常时中断(使用“调试”>“

c++ - 有没有办法在 C++ 中调用 new 时获取堆栈跟踪?

我有一个长时间运行的C++程序,通常使用gcc(g++)编译。我已经使用valgrind来验证没有内存泄漏,所以我不是在寻找泄漏检测器。不过,我关心的是临时缓冲区/对象上的内存碎片和不必要的新/删除对。有没有办法记录所有对new的调用(即使它们发生在STL容器内),提供堆栈跟踪以便我可以在我的代码中找到它们?我尝试了mtrace,但这只适用于C++——当我查找负责的代码行时,它最终说所有分配都发生在全局新分配器中。不知何故,valgrind的memcheck几乎可以做我想做的,因为它显示了内存分配的堆栈跟踪。不幸的是,它们似乎只为分配而呈现,没有匹配的释放。

c++ - 使用 Opencv C++ 中对象的给定 X、Y 进行卡尔曼滤波器跟踪

我是卡尔曼跟踪的新手,所以不知道如何开始。我有检测人脸的程序,检测到人脸后,我想将人脸的中心x.y发送到卡尔曼滤波器以绘制一条显示运动方向的线。我该如何开始?提前致谢。 最佳答案 您需要理解数学来制定问题,William提供的链接是试验代码的好地方。如果您想遵循数学原理,可以检查一些不错的地方:http://home.hit.no/~hansha/documents/control/theory/kalmanfilter.pdfhttp://www.cl.cam.ac.uk/~rmf25/papers/Understanding%2

c++ - 使用 const bool 引用进行后台任务取消跟踪? (C++)

我有一个桌面应用程序,当用户请求时,某些计算在后台线程中运行。有一个取消按钮。我知道向后台任务发出取消信号的“安全”或“正确”方式(使用Qt信号/槽连接、后台任务轮询的互斥体包装bool值等)。然而,在我看来最简单的事情是在我的主线程类中有一个boolcancelled,它在按下Cancel按钮时同步设置,并传递一个constbool&cancelled到它轮询的后台线程。这种方法是否有任何现实的方法会适得其反? 最佳答案 线程可以在不同的处理器上运行,每个处理器都有自己的缓存。如果bool值是原子的,你可以这样做。否则,您可能会面

c++ - 如何处理 SIGSEGV 并在 c/C++ 程序中接收 SIGSEGV 时打印回溯跟踪?

我正在构建一个C++程序,我需要在其中处理SIGSEGV并且信号处理程序应该能够打印回溯。任何人都可以帮忙吗。问候 最佳答案 获得SIGSEV回溯的最好方法是生成核心文件而不是打印回溯。请小心,因为如果您处理SIGSEV,系统将不会调用默认的核心生成器。如果您无论如何都想处理SIGSEV(正如之前评论的那样,这是系统相关的),请参阅libc回溯函数[http://www.gnu.org/s/libc/manual/html_node/Backtraces.html],它可能会有用。 关于

c++ - 异常堆栈跟踪

实现异常堆栈跟踪的最佳方法是什么?我找到了某种使用uncaught_exception()的解决方案,但它需要为每个函数添加一些代码。我需要在linux和windows下的gcc上工作 最佳答案 我认为没有跨平台的方式来做到这一点。在Windows上,查看StackWalk方法;在Linux上,manbacktrace。这将获取信息;格式化由您决定。 关于c++-异常堆栈跟踪,我们在StackOverflow上找到一个类似的问题: https://stacko

c++ - 您如何跟踪每个功能提供的异常安全保证

在编写异常安全代码时,需要考虑所有被调用函数的异常安全保证(none、basic、strong或no-throw)。由于编译器没有提供任何帮助,我认为函数命名约定在这里可能会有帮助。是否有某种既定的符号标准表明功能提供的异常安全保证级别?我在想类似匈牙利语的东西:voidsetFooB(Fooconst&s);//B,offersbasicguaranteeintcomputeSomethingS();//S,offersstrongguaranteeintgetDataNT()throws();//NT,offersno-throwvoidallBetsAreOffN();//N,o

c++ - 如何跟踪整数变化 vector 的中位数?

试图在http://www.hackerearth.com/problem/algorithm/sum-of-medians-1/解决问题并考虑使用多重集来解决它,因为它可能包含重复值。我尝试编写如下代码:#include#include#includeusingnamespacestd;intmain(){intn,k,med_sum=0,p;cin>>n;multisetm;multiset::iteratoritr;for(inti=0;i>k;m.insert(k);p=k;if(pSampleInput:n=51051215SampleOutput:27Explanation

git:忽略子模块中未跟踪的文件

在我的git仓库中,我将其他一些项目作为子模型导入。到目前为止,一切都很好。但是,进口项目的维护者对他们的.gitignore文件。因此,建立了进口项目后,gitstatus(在子模块中)列出了大量未跟踪的文件。因此,gitstatus在我自己的项目中说:modified:(untrackedcontent)我的问题是:有什么办法告诉git忽略这些未跟踪的文件而不修复上游.gitignore文件?我完全知道可能的答案是“否”,我已经看到这个问题这告诉我,不可能忽略跟踪文件的更改。这对我来说是完全有意义的,独立于该文件是否在子模块中的问题。但是,我只关心忽略未跟踪文件,所以我认为我的问题有一个很